The present invention generally relates to controlling network congestion, and particularly relates to controlling user congestion in wireless communication networks.
Evolving wireless networks, such as those based on the cdma2000 or Wideband (WCDMA) standards, offer a mix of voice and data services. Of particular benefit to data users, such networks may offer relatively high-speed packet data channels that are time-shared among multiple data users. In this case, a packet data channel is divided into time slots and data frames are “scheduled” for transmission on the time-shared channel. Thus, the channel supports a plurality of “data connections” by time multiplexing transmissions for each of the connections onto the shared data channel. The scheduling of transmissions for each connection on the shared channel is governed by one or more service constraints.
For example, each connection (i.e., “user”) may be scheduled according to a “throughput” optimization approach, in which the network operator maximizes revenue by scheduling users best able to receive data transmissions at the highest rates. However, such an approach may leave users in poorer radio conditions chronically under-served, nor does such an approach guarantee that the network will satisfy one or more Quality-of-Service (QoS) constraints that normally are associated with the data connections sharing the channel. That is, many of the evolving data applications supported by the higher data rate shared channels require defined QoS levels such as a minimum data rate and/or maximum packet jitter.
Thus, if users are served in accordance with their associated QoS constraints, they must be scheduled for service in consideration of those constraints. Newer networks might thus incorporate QoS-based user scheduling on the shared packet data channels such that the QoS constraints for each user are met on an ongoing basis, at least within the limits of network capacity and prevailing radio conditions. In furtherance of such QoS-based scheduling, the network must also consider the impact of new user admissions as regards its ongoing ability to meet the various QoS constraints and its current users.
However, even with QoS-based scheduling and admission control, the potential for network “overloading” exists because of the dynamic resource demands of both voice and data users and the stochastic nature of the bandwidth available to each user due to natural fluctuations in the radio conditions of each user (e.g., fading, interference, noise, etc.). Although such congestion is in some ways reminiscent of packet data overload in wireline IP networks, differences between wireless communication networks and traditional IP router networks make known congestion control techniques inappropriate for the wireless world.
In a traditional IP router, IP data packets are transferred to and from various other nodes (routers, switches, etc.) in the network according to packet addressing information. The router maintains a buffer or queue for holding the transient packet data as it performs its ongoing routing operations. During congestion, the router's buffer “overflows,” and packet data for one or more connections is lost. The transport protocols managing those connections having lost data typically impose some form of “flow control” whereby data rates are reduced responsive to excess lost data, resulting in relatively “bursty,” inefficient data transfer on the affected connections. Indeed, the widely used Transport Control Protocol (TCP) not only reduces connection data rate in response to lost packets, it further employs a “slow start” mechanism that limits a connection's data rate for some time even after congestion is relieved, even if the prevailing conditions associated with that connection would support an immediate return to the pre-congestion data rate.
With the above behavior, even momentary congestion among a substantial number of connections can lead to a “congestion collapse,” where the transport protocols of the affected connections enforce a prolonged and possibly significant reduction in connection data rate responsive to detected packet loss. That is, if flow control is triggered across a sizeable number of connections, the aggregate data throughput of the network is temporarily reduced to a level well below what it can actually support, leading to inefficient utilization of network capacity.
Algorithms directed to alleviating such problems in traditional routing networks are generically referred to as “Adaptive Queue Management” (AQM) algorithms. One species of such algorithms is referred to as “Rapid Early Discard” (RED), and is based on randomly discarding data packets when router buffer “occupancy” reaches a defined threshold. The random discarding of packets causes a relatively small subset of the total TCP connections supported by the router to reduce their congestion windows, which results in a reduction of the router's traffic load and hopefully avoids congestion collapse.
While such approaches yield congestion control benefits in traditional routing systems, they do not complement the structure and operation of packet routing operations within the context of wireless communication networks. For example, wireless networks commonly employ some type of Radio Link Protocol (RLP) that provides the network with a radio link layer frame error recovery mechanism. RLP provides for data retransmissions on the inherently unreliable wireless links connecting the network to the remote mobile stations. RLP as implemented in cdma2000 and WCDMA networks is an “ARQ” based protocol that uses a timeout/NACK approach to recognizing when transmitted data was or was not properly received.
As IP packets typically span several RLP “frames,” the loss of even one RLP frame causes an IP packet loss for the affected data connection. Thus, any overload control scheme that involves packet/frame discarding should incorporate knowledge of the IP packet/RLP frame relationship for efficient overload control operation.
Further, the ideal approach to overload control within wireless networks would consider the scheduling objectives and connection characteristics of the wireless network users subjected to overload control. By incorporating such considerations into overload control, a wireless network could avoid congestion collapse, while simultaneously observing ongoing scheduling or service priorities to the greatest extent possible.